---
title: Configuration settings
summary: Configuration keys consumed by this library, retrieval methods, and runtime dependencies.
status: draft
owner: SAIF Documentation
last_reviewed: 2026-08-21
library: SAIF.Services.Appworx
reference_type: embedded
---

# Configuration settings

`SAIF.Services.Appworx` is effectively configuration-free: it declares no named setting keys, holds no secrets, and reads no connection strings. Its only runtime-variable behavior is a single environment discrimination call, and even that selects between two hard-coded Oracle database aliases rather than configured values.

## Configuration retrieval methods

| Method | Class / Interface | Namespace | Usage pattern |
| --- | --- | --- | --- |
| `GetApplicationEnvironment()` | `IEnvironmentService`, reached statically via `AppGlobal.EnvironmentService` | `SAIF.Core.Services` (service); `SAIF.Framework.Security` (the `AppGlobal` accessor) | Called once, inside the Shared `SubmitBatchJob` overload, and only when `inUseWCISDEV1AppworxForAllDevEnv = True`. The returned value is compared against `ApplicationEnvironment.Prod` to choose a hard-coded Oracle database alias ([BR-002](business-rules.md#br-002-production-only-routing-to-the-production-appworx-database)). Environment discrimination, not key-based configuration retrieval. |
| `New clsMSOracleDataLayer(schema, database)` → `.DataPortalInfo()` | `clsMSOracleDataLayer` | `SAIF.Framework` | Constructs an Oracle data layer from hard-coded literal schema/database values (`"PRADT"` + `"WCISPROD"`/`"WCISDEV1"`) and derives an `IDataPortalInfo` from it. Connection details are resolved inside the framework from the alias, not from any config value read in this library. |

## Environment API settings

No named configuration keys are retrieved by this library. The single `IEnvironmentService` interaction is an environment *query* (`GetApplicationEnvironment()`), not a keyed `GetConfigSetting`/`GetSecureConfigSetting` lookup, so it has no setting-key value.

| Setting key | Method | Data type | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- | --- |
| *(none — no key; environment discriminator)* | `GetApplicationEnvironment()` | `ApplicationEnvironment` (enum) | Distinguishes production from every other environment to select the override routing target ([BR-001](business-rules.md#br-001-environment-based-portal-routing-to-pradt), [BR-002](business-rules.md#br-002-production-only-routing-to-the-production-appworx-database)) | `clsRequestAppworxJob` (Shared `SubmitBatchJob`) | `SAIF.Services.Appworx/clsRequestAppworxJob.vb` |

## AppSettings (Web.config)

None. Neither `SAIF.Services.Appworx/App.config` nor `SAIF.Services.Appworx/Web.config` declares an `<appSettings>` section, and no `ConfigurationManager.AppSettings` read exists in any `.vb` file in the project.

| Setting key | Default value | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- |
| — | — | — | — | — |

## Database connection configuration

The library performs no connection-string retrieval — no `DbConnectionManager`, no `<connectionStrings>`, no `GetOracleConnectionString`. Connections arrive by one of two paths:

| Connection name | Provider | Retrieval method | Purpose | Source |
| --- | --- | --- | --- | --- |
| Caller-supplied data portal (`inDPI`) — default path | Oracle (ODP.NET Managed Driver) | None — the `IDataPortalInfo` is passed in by the caller | Normal submission path used by all three in-repo callers; `submit_appworx_job` executes against whatever schema/database the caller's portal resolves to | `SAIF.Services.Appworx/clsRequestAppworxJob.vb` |
| `PRADT` @ `WCISPROD` — override path, production | Oracle (ODP.NET Managed Driver) | None — hard-coded literals in source | Dedicated Appworx-hosting database used when `inUseWCISDEV1AppworxForAllDevEnv = True` **and** the environment is `Prod` ([BR-001](business-rules.md#br-001-environment-based-portal-routing-to-pradt)) | `SAIF.Services.Appworx/clsRequestAppworxJob.vb` |
| `PRADT` @ `WCISDEV1` — override path, all non-production | Oracle (ODP.NET Managed Driver) | None — hard-coded literals in source | Single shared development Appworx database used when the flag is set and the environment is anything other than `Prod` ([BR-002](business-rules.md#br-002-production-only-routing-to-the-production-appworx-database)) | `SAIF.Services.Appworx/clsRequestAppworxJob.vb` |
| ODP.NET Managed Driver provider registration | Oracle | `oracle.manageddataaccess.client` config section + `Oracle.ManagedDataAccess.Client` invariant | Makes the Oracle managed factory available to the data layer; supplies no endpoint of its own | `SAIF.Services.Appworx/App.config`, `SAIF.Services.Appworx/Web.config` |

**Hard-coded environment routing.** Database targeting on the override path is compiled into the source, not configured — the schema (`PRADT`) and both database aliases (`WCISPROD`, `WCISDEV1`) are string literals. Retargeting any of them requires a code change and redeploy; they cannot be adjusted through the environment API, `Web.config`, or a connection string. This override path has no caller inside this repository — all three in-repo call sites leave the flag at its `False` default, so the hard-coded routing is currently inert*.

## Secure settings

None. No `GetSecureConfigSetting`, no `SystemHashUtil.ComputeHash`, no `SystemType.*`, no credentials, passwords, API keys, tokens, or encrypted values appear anywhere in `SAIF.Services.Appworx/`. Database credentials are never handled by this library — they are resolved by the framework data layer behind the alias.

| Setting key | Encryption method | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- |
| — | — | — | — | — |

## Transitive configuration (from dependencies)

| Setting key | Method | Source dependency | Dependency type | Purpose |
| --- | --- | --- | --- | --- |
| *(unspecified — inherited)* | Framework-internal | `SAIF.BOF.Framework` | NuGet package | Whatever config keys `IEnvironmentService` and `clsMSOracleDataLayer` require (environment classification source, Oracle TNS/alias resolution, credential lookup) must be provided by the hosting application's `Web.config` and the environment API — none are visible in, or satisfiable by, this class library** |

## Configuration dependencies

| Dependency | Type | Required at | Impact if missing |
| --- | --- | --- | --- |
| `oracle.manageddataaccess.client` config section + `DbProviderFactories` registration | Config section | Runtime (hosting application's merged config) | Without the ODP.NET managed factory registration, the Oracle provider cannot be resolved by name in the hosting application |
| Hosting application's environment/config infrastructure (behind `IEnvironmentService`, `clsMSOracleDataLayer`) | Service | Runtime | Environment discrimination and Oracle alias/TNS resolution fail if the hosting application does not supply this infrastructure** |

## Related documentation
- [Library index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Services.Appworx/clsRequestAppworxJob.vb`
- `SAIF.Services.Appworx/App.config`
- `SAIF.Services.Appworx/Web.config`
- `SAIF.Services.Appworx/My Project/Settings.Designer.vb`
